package com.example.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author baomidou
 * @since 2025-05-13
 */
@Getter
@Setter
public class Provider implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 审核状态 0-未审核 1-已审核通过 2-审核不通过
     */
    private Integer auditStatus;

    /**
     * 审核人员ID
     */
    private Integer auditorId;

    /**
     * 审核意见
     */
    private String auditComment;

    /**
     * 审核时间
     */
    private LocalDateTime auditTime;

    /**
     * 供应商评级 A/B/C/D
     */
    private String rating;

    /**
     * 是否有效（是否撤销准入资格）
     */
    private Boolean isActive;

    /**
     * 供应商编号
     */
    @TableId(value = "provider_id", type = IdType.AUTO)
    private Integer providerId;

    /**
     * 供应商名称
     */
    private String providerName;

    /**
     * 厂址
     */
    private String factoryAddress;

    /**
     * 负责人姓名
     */
    private String principalName;

    /**
     * 负责人联系电话
     */
    private String principalPhone;

    /**
     * 企业类型
     */
    private String companyType;

    /**
     * 注册资本
     */
    private BigDecimal registeredCapital;

    /**
     * 员工人数
     */
    private Integer employeeCount;

    /**
     * 成立年份
     */
    private Integer establishedYear;

    /**
     * 简介
     */
    private String description;

    public Integer getProviderId() {
        return providerId;
    }

    public void setProviderId(Integer providerId) {
        this.providerId = providerId;
    }

    public String getProviderName() {
        return providerName;
    }

    public void setProviderName(String providerName) {
        this.providerName = providerName;
    }

    public String getFactoryAddress() {
        return factoryAddress;
    }

    public void setFactoryAddress(String factoryAddress) {
        this.factoryAddress = factoryAddress;
    }

    public String getPrincipalName() {
        return principalName;
    }

    public void setPrincipalName(String principalName) {
        this.principalName = principalName;
    }

    public String getPrincipalPhone() {
        return principalPhone;
    }

    public void setPrincipalPhone(String principalPhone) {
        this.principalPhone = principalPhone;
    }

    public String getCompanyType() {
        return companyType;
    }

    public void setCompanyType(String companyType) {
        this.companyType = companyType;
    }

    public BigDecimal getRegisteredCapital() {
        return registeredCapital;
    }

    public void setRegisteredCapital(BigDecimal registeredCapital) {
        this.registeredCapital = registeredCapital;
    }

    public Integer getEmployeeCount() {
        return employeeCount;
    }

    public void setEmployeeCount(Integer employeeCount) {
        this.employeeCount = employeeCount;
    }

    public Integer getEstablishedYear() {
        return establishedYear;
    }

    public void setEstablishedYear(Integer establishedYear) {
        this.establishedYear = establishedYear;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }

    public Integer getAuditorId() {
        return auditorId;
    }

    public void setAuditorId(Integer auditorId) {
        this.auditorId = auditorId;
    }

    public String getAuditComment() {
        return auditComment;
    }

    public void setAuditComment(String auditComment) {
        this.auditComment = auditComment;
    }

    public String getRating() {
        return rating;
    }

    public void setRating(String rating) {
        this.rating = rating;
    }

    public Boolean getActive() {
        return isActive;
    }

    public void setActive(Boolean active) {
        isActive = active;
    }

    public LocalDateTime getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(LocalDateTime auditTime) {
        this.auditTime = auditTime;
    }
}
